package com.young.fs.service;

import com.young.fs.model.FileInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 文件服务接口
 * Created by rookie on 2017/9/5.
 */
public interface IFileService {

    /**
     * 保存文件,默认存放到根目录
     * @param file 文件信息
     * @param businessCode 业务编号,可以为空
     * @return
     */
    FileInfo saveFile(MultipartFile file, String businessCode);

    /**
     * 上传文件到指定文件夹
     * @param file 文件信息
     * @param folderId 文件夹id
     * @param businessCode 业务编号,可以为空
     * @return
     */
    FileInfo saveFile(MultipartFile file, String folderId, String businessCode);

    /**
     * 批量上传文件到指定文件夹
     * @param files
     * @param folderId
     * @param businessCode 业务编号,可以为空
     * @return
     */
    List<FileInfo> saveFiles(List<MultipartFile> files, String folderId, String businessCode);

    /**
     * 删除文件
     * @param fileId 文件编号
     * @return
     */
    boolean dropFile(String fileId);

    /**
     * 删除文件夹
     * @param folderId 文件夹编号
     * @return
     */
    boolean dropFolder(String folderId);

    /**
     * 创建文件夹
     * @param folder 文件夹信息
     * @return 文件夹信息
     */
    FileInfo createFolder(FileInfo folder);
}
